Virtual musical instruments, such as MIDI-based or software-based keyboards, guitars, strings or horn ensembles and the like typically have user interfaces that simulate the actual instrument. For example, a virtual piano or organ will have an interface configured as a touch-sensitive representation of a keyboard; a virtual guitar will have an interface configured as a touch-sensitive fretboard. Such interfaces assume the user is a musician or understands how to play notes, chords, chord progressions etc., on a real musical instrument corresponding to the virtual musical instrument, such that the user is able to produce pleasing melodic or harmonic sounds from the virtual instrument. Such requirements create many problems.
First, not all users who would enjoy playing a virtual instrument are musicians who know how to form chords or construct pleasing chord progressions within a musical key. Second, users who do know how to form piano chords may find it difficult to play the chords on the user interfaces, because the interfaces lack tactile stimulus, which guides the user's hands on a real piano. For example, on a real piano a user can feel the cracks between the keys and the varying height of the keys, but on an electronic system, no such textures exist. These problems lead to frustration and make the systems less useful, less enjoyable, and less popular. Therefore, a need exists for a system that strikes a balance between simulating a traditional musical instrument and providing an optimized user interface that allows effective musical input and performance, and that allows even non-musicians to experience a musical performance on a virtual instrument.